1 == True: unittestの例
このメソッドは、bool(expr) is True と等価であり、expr is True と等価ではないことに注意が必要です (後者のためには、assertIs(expr, True) が用意されています)
code: unittest_example.py
from unittest import TestCase, main
from unittest.mock import patch
def function(is_awesome):
print("hoge")
class ExampleTestCase(TestCase):
def test_1_true(self):
self.assertEqual(1, True) # 1を2に変えたら成り立たない
self.assertTrue(2)
def test_0_false(self):
self.assertEqual(0, False)
self.assertFalse(0)
@patch("__main__.function")
def test_patch_1_true(self, function):
# patchを当てているのでhogeは出力されない
function(is_awesome=True)
# assertEqual と同様の比較(1を2に変えたら成り立たない)
function.assert_called_once_with(is_awesome=1)
@patch("__main__.function")
def test_patch_0_false(self, function):
# patchを当てているのでhogeは出力されない
function(is_awesome=False)
# assertEqual と同様の比較
function.assert_called_once_with(is_awesome=0)
if __name__ == "__main__":
main()
code:shell
$ python unittest_example.py
....
----------------------------------------------------------------------
Ran 4 tests in 0.002s
OK